// $ANTLR 3.4 C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g 2012-10-03 18:46:39

package PL.prac3;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class Anasin extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACEPTA", "BARRA", "BLANCO", "BOOLEANO", "CADENA", "CL_LLAVE", "CL_PARENTESIS", "COMILLAS", "DIGITO", "DIRECTORIO", "DOLAR", "ESPACIO", "IDENT", "INSTRUCCION", "LETRA", "NUMERO", "OPCION", "OPERADOR", "OP_LLAVE", "OP_PARENTESIS", "SEPARADOR", "SETFOR", "SETWHILE", "SET_VAR", "VARIABLE"
    };

    public static final int EOF=-1;
    public static final int ACEPTA=4;
    public static final int BARRA=5;
    public static final int BLANCO=6;
    public static final int BOOLEANO=7;
    public static final int CADENA=8;
    public static final int CL_LLAVE=9;
    public static final int CL_PARENTESIS=10;
    public static final int COMILLAS=11;
    public static final int DIGITO=12;
    public static final int DIRECTORIO=13;
    public static final int DOLAR=14;
    public static final int ESPACIO=15;
    public static final int IDENT=16;
    public static final int INSTRUCCION=17;
    public static final int LETRA=18;
    public static final int NUMERO=19;
    public static final int OPCION=20;
    public static final int OPERADOR=21;
    public static final int OP_LLAVE=22;
    public static final int OP_PARENTESIS=23;
    public static final int SEPARADOR=24;
    public static final int SETFOR=25;
    public static final int SETWHILE=26;
    public static final int SET_VAR=27;
    public static final int VARIABLE=28;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public Anasin(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public Anasin(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return Anasin.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g"; }



    // $ANTLR start "entrada_fichero"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:16:1: entrada_fichero : con_fichero EOF ;
    public final void entrada_fichero() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:16:17: ( con_fichero EOF )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:16:19: con_fichero EOF
            {
            pushFollow(FOLLOW_con_fichero_in_entrada_fichero49);
            con_fichero();

            state._fsp--;


            match(input,EOF,FOLLOW_EOF_in_entrada_fichero51); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada_fichero"



    // $ANTLR start "con_fichero"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:1: con_fichero : ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )* ;
    public final void con_fichero() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:12: ( ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )* )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:14: ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )*
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:14: ( asignacion_numero | asignacion_booleano | asignacion_directorio | asignacion_mensaje | asignacion_variable | condicion )*
            loop1:
            do {
                int alt1=7;
                switch ( input.LA(1) ) {
                case IDENT:
                    {
                    int LA1_2 = input.LA(2);

                    if ( (LA1_2==OPERADOR) ) {
                        switch ( input.LA(3) ) {
                        case NUMERO:
                            {
                            alt1=1;
                            }
                            break;
                        case BOOLEANO:
                            {
                            alt1=2;
                            }
                            break;
                        case DIRECTORIO:
                            {
                            alt1=3;
                            }
                            break;
                        case CADENA:
                            {
                            alt1=4;
                            }
                            break;

                        }

                    }


                    }
                    break;
                case SET_VAR:
                    {
                    alt1=5;
                    }
                    break;
                case OPCION:
                    {
                    alt1=6;
                    }
                    break;

                }

                switch (alt1) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:15: asignacion_numero
            	    {
            	    pushFollow(FOLLOW_asignacion_numero_in_con_fichero59);
            	    asignacion_numero();

            	    state._fsp--;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:33: asignacion_booleano
            	    {
            	    pushFollow(FOLLOW_asignacion_booleano_in_con_fichero61);
            	    asignacion_booleano();

            	    state._fsp--;


            	    }
            	    break;
            	case 3 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:53: asignacion_directorio
            	    {
            	    pushFollow(FOLLOW_asignacion_directorio_in_con_fichero63);
            	    asignacion_directorio();

            	    state._fsp--;


            	    }
            	    break;
            	case 4 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:75: asignacion_mensaje
            	    {
            	    pushFollow(FOLLOW_asignacion_mensaje_in_con_fichero65);
            	    asignacion_mensaje();

            	    state._fsp--;


            	    }
            	    break;
            	case 5 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:94: asignacion_variable
            	    {
            	    pushFollow(FOLLOW_asignacion_variable_in_con_fichero67);
            	    asignacion_variable();

            	    state._fsp--;


            	    }
            	    break;
            	case 6 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:17:114: condicion
            	    {
            	    pushFollow(FOLLOW_condicion_in_con_fichero69);
            	    condicion();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "con_fichero"



    // $ANTLR start "asignacion_numero"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:18:1: asignacion_numero : IDENT OPERADOR NUMERO SEPARADOR ;
    public final void asignacion_numero() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:18:18: ( IDENT OPERADOR NUMERO SEPARADOR )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:18:20: IDENT OPERADOR NUMERO SEPARADOR
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_numero77); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_numero79); 

            match(input,NUMERO,FOLLOW_NUMERO_in_asignacion_numero81); 

            match(input,SEPARADOR,FOLLOW_SEPARADOR_in_asignacion_numero83); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_numero"



    // $ANTLR start "asignacion_booleano"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:19:1: asignacion_booleano : IDENT OPERADOR BOOLEANO SEPARADOR ;
    public final void asignacion_booleano() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:19:20: ( IDENT OPERADOR BOOLEANO SEPARADOR )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:19:22: IDENT OPERADOR BOOLEANO SEPARADOR
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_booleano90); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_booleano92); 

            match(input,BOOLEANO,FOLLOW_BOOLEANO_in_asignacion_booleano94); 

            match(input,SEPARADOR,FOLLOW_SEPARADOR_in_asignacion_booleano96); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_booleano"



    // $ANTLR start "asignacion_directorio"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:20:1: asignacion_directorio : IDENT OPERADOR DIRECTORIO SEPARADOR ;
    public final void asignacion_directorio() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:20:22: ( IDENT OPERADOR DIRECTORIO SEPARADOR )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:20:24: IDENT OPERADOR DIRECTORIO SEPARADOR
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_directorio102); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_directorio104); 

            match(input,DIRECTORIO,FOLLOW_DIRECTORIO_in_asignacion_directorio106); 

            match(input,SEPARADOR,FOLLOW_SEPARADOR_in_asignacion_directorio108); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_directorio"



    // $ANTLR start "asignacion_mensaje"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:21:1: asignacion_mensaje : IDENT OPERADOR CADENA SEPARADOR ;
    public final void asignacion_mensaje() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:21:19: ( IDENT OPERADOR CADENA SEPARADOR )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:21:21: IDENT OPERADOR CADENA SEPARADOR
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_mensaje114); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_mensaje116); 

            match(input,CADENA,FOLLOW_CADENA_in_asignacion_mensaje118); 

            match(input,SEPARADOR,FOLLOW_SEPARADOR_in_asignacion_mensaje120); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_mensaje"



    // $ANTLR start "asignacion_variable"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:22:1: asignacion_variable : SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) SEPARADOR ;
    public final void asignacion_variable() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:22:20: ( SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) SEPARADOR )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:22:22: SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) SEPARADOR
            {
            match(input,SET_VAR,FOLLOW_SET_VAR_in_asignacion_variable126); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_variable128); 

            if ( (input.LA(1) >= BOOLEANO && input.LA(1) <= CADENA)||input.LA(1)==DIRECTORIO||input.LA(1)==NUMERO ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            match(input,SEPARADOR,FOLLOW_SEPARADOR_in_asignacion_variable140); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_variable"



    // $ANTLR start "comprobacion"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:1: comprobacion : ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) ) ;
    public final void comprobacion() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:13: ( ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) ) )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:15: ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) )
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:15: ( IDENT | VARIABLE | ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ) )
            int alt2=3;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==IDENT) ) {
                int LA2_1 = input.LA(2);

                if ( (LA2_1==OPERADOR) ) {
                    alt2=3;
                }
                else if ( (LA2_1==CL_PARENTESIS) ) {
                    alt2=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 2, 1, input);

                    throw nvae;

                }
            }
            else if ( (LA2_0==VARIABLE) ) {
                int LA2_2 = input.LA(2);

                if ( (LA2_2==OPERADOR) ) {
                    alt2=3;
                }
                else if ( (LA2_2==CL_PARENTESIS) ) {
                    alt2=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 2, 2, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;

            }
            switch (alt2) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:16: IDENT
                    {
                    match(input,IDENT,FOLLOW_IDENT_in_comprobacion147); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:24: VARIABLE
                    {
                    match(input,VARIABLE,FOLLOW_VARIABLE_in_comprobacion151); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:35: ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) )
                    {
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:35: ( ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) )
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:23:36: ( IDENT | VARIABLE ) OPERADOR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA )
                    {
                    if ( input.LA(1)==IDENT||input.LA(1)==VARIABLE ) {
                        input.consume();
                        state.errorRecovery=false;
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        throw mse;
                    }


                    match(input,OPERADOR,FOLLOW_OPERADOR_in_comprobacion164); 

                    match(input,OPERADOR,FOLLOW_OPERADOR_in_comprobacion166); 

                    if ( (input.LA(1) >= BOOLEANO && input.LA(1) <= CADENA)||input.LA(1)==DIRECTORIO||input.LA(1)==NUMERO ) {
                        input.consume();
                        state.errorRecovery=false;
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        throw mse;
                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "comprobacion"



    // $ANTLR start "condicion"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:24:1: condicion : OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE ;
    public final void condicion() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:24:10: ( OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:24:12: OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE
            {
            match(input,OPCION,FOLLOW_OPCION_in_condicion184); 

            match(input,OP_PARENTESIS,FOLLOW_OP_PARENTESIS_in_condicion186); 

            pushFollow(FOLLOW_comprobacion_in_condicion188);
            comprobacion();

            state._fsp--;


            match(input,CL_PARENTESIS,FOLLOW_CL_PARENTESIS_in_condicion190); 

            match(input,OP_LLAVE,FOLLOW_OP_LLAVE_in_condicion192); 

            pushFollow(FOLLOW_con_fichero_in_condicion194);
            con_fichero();

            state._fsp--;


            match(input,CL_LLAVE,FOLLOW_CL_LLAVE_in_condicion196); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "condicion"



    // $ANTLR start "buclefor"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:25:1: buclefor : SETFOR OP_PARENTESIS ( IDENT | VARIABLE ) CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE ;
    public final void buclefor() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:25:9: ( SETFOR OP_PARENTESIS ( IDENT | VARIABLE ) CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:25:11: SETFOR OP_PARENTESIS ( IDENT | VARIABLE ) CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE
            {
            match(input,SETFOR,FOLLOW_SETFOR_in_buclefor203); 

            match(input,OP_PARENTESIS,FOLLOW_OP_PARENTESIS_in_buclefor205); 

            if ( input.LA(1)==IDENT||input.LA(1)==VARIABLE ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            match(input,CL_PARENTESIS,FOLLOW_CL_PARENTESIS_in_buclefor214); 

            match(input,OP_LLAVE,FOLLOW_OP_LLAVE_in_buclefor216); 

            pushFollow(FOLLOW_con_fichero_in_buclefor218);
            con_fichero();

            state._fsp--;


            match(input,CL_LLAVE,FOLLOW_CL_LLAVE_in_buclefor220); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "buclefor"



    // $ANTLR start "buclewhile"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:26:1: buclewhile : SETWHILE OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE ;
    public final void buclewhile() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:26:11: ( SETWHILE OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:26:13: SETWHILE OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE con_fichero CL_LLAVE
            {
            match(input,SETWHILE,FOLLOW_SETWHILE_in_buclewhile226); 

            match(input,OP_PARENTESIS,FOLLOW_OP_PARENTESIS_in_buclewhile228); 

            pushFollow(FOLLOW_comprobacion_in_buclewhile230);
            comprobacion();

            state._fsp--;


            match(input,CL_PARENTESIS,FOLLOW_CL_PARENTESIS_in_buclewhile232); 

            match(input,OP_LLAVE,FOLLOW_OP_LLAVE_in_buclewhile234); 

            pushFollow(FOLLOW_con_fichero_in_buclewhile236);
            con_fichero();

            state._fsp--;


            match(input,CL_LLAVE,FOLLOW_CL_LLAVE_in_buclewhile238); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "buclewhile"



    // $ANTLR start "entrada_sin"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:28:1: entrada_sin : ( sin_fichero EOF | DOLAR ) ;
    public final void entrada_sin() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:28:12: ( ( sin_fichero EOF | DOLAR ) )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:28:14: ( sin_fichero EOF | DOLAR )
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:28:14: ( sin_fichero EOF | DOLAR )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==EOF||LA3_0==CL_LLAVE||LA3_0==IDENT||LA3_0==OPCION||LA3_0==SET_VAR) ) {
                alt3=1;
            }
            else if ( (LA3_0==DOLAR) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;

            }
            switch (alt3) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:28:15: sin_fichero EOF
                    {
                    pushFollow(FOLLOW_sin_fichero_in_entrada_sin246);
                    sin_fichero();

                    state._fsp--;


                    match(input,EOF,FOLLOW_EOF_in_entrada_sin248); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:28:33: DOLAR
                    {
                    match(input,DOLAR,FOLLOW_DOLAR_in_entrada_sin252); 

                    }
                    break;

            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada_sin"



    // $ANTLR start "sin_fichero"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:1: sin_fichero : ( asignacion_numero2 | asignacion_booleano2 | asignacion_directorio2 | asignacion_mensaje2 | asignacion_variable2 | condicion2 )* ;
    public final void sin_fichero() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:12: ( ( asignacion_numero2 | asignacion_booleano2 | asignacion_directorio2 | asignacion_mensaje2 | asignacion_variable2 | condicion2 )* )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:14: ( asignacion_numero2 | asignacion_booleano2 | asignacion_directorio2 | asignacion_mensaje2 | asignacion_variable2 | condicion2 )*
            {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:14: ( asignacion_numero2 | asignacion_booleano2 | asignacion_directorio2 | asignacion_mensaje2 | asignacion_variable2 | condicion2 )*
            loop4:
            do {
                int alt4=7;
                switch ( input.LA(1) ) {
                case IDENT:
                    {
                    int LA4_2 = input.LA(2);

                    if ( (LA4_2==OPERADOR) ) {
                        switch ( input.LA(3) ) {
                        case NUMERO:
                            {
                            alt4=1;
                            }
                            break;
                        case BOOLEANO:
                            {
                            alt4=2;
                            }
                            break;
                        case DIRECTORIO:
                            {
                            alt4=3;
                            }
                            break;
                        case CADENA:
                            {
                            alt4=4;
                            }
                            break;

                        }

                    }


                    }
                    break;
                case SET_VAR:
                    {
                    alt4=5;
                    }
                    break;
                case OPCION:
                    {
                    alt4=6;
                    }
                    break;

                }

                switch (alt4) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:15: asignacion_numero2
            	    {
            	    pushFollow(FOLLOW_asignacion_numero2_in_sin_fichero260);
            	    asignacion_numero2();

            	    state._fsp--;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:34: asignacion_booleano2
            	    {
            	    pushFollow(FOLLOW_asignacion_booleano2_in_sin_fichero262);
            	    asignacion_booleano2();

            	    state._fsp--;


            	    }
            	    break;
            	case 3 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:55: asignacion_directorio2
            	    {
            	    pushFollow(FOLLOW_asignacion_directorio2_in_sin_fichero264);
            	    asignacion_directorio2();

            	    state._fsp--;


            	    }
            	    break;
            	case 4 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:78: asignacion_mensaje2
            	    {
            	    pushFollow(FOLLOW_asignacion_mensaje2_in_sin_fichero266);
            	    asignacion_mensaje2();

            	    state._fsp--;


            	    }
            	    break;
            	case 5 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:98: asignacion_variable2
            	    {
            	    pushFollow(FOLLOW_asignacion_variable2_in_sin_fichero268);
            	    asignacion_variable2();

            	    state._fsp--;


            	    }
            	    break;
            	case 6 :
            	    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:29:119: condicion2
            	    {
            	    pushFollow(FOLLOW_condicion2_in_sin_fichero270);
            	    condicion2();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "sin_fichero"



    // $ANTLR start "asignacion_numero2"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:30:1: asignacion_numero2 : IDENT OPERADOR NUMERO ;
    public final void asignacion_numero2() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:30:19: ( IDENT OPERADOR NUMERO )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:30:21: IDENT OPERADOR NUMERO
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_numero2278); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_numero2280); 

            match(input,NUMERO,FOLLOW_NUMERO_in_asignacion_numero2282); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_numero2"



    // $ANTLR start "asignacion_booleano2"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:31:1: asignacion_booleano2 : IDENT OPERADOR BOOLEANO ;
    public final void asignacion_booleano2() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:31:21: ( IDENT OPERADOR BOOLEANO )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:31:23: IDENT OPERADOR BOOLEANO
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_booleano2289); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_booleano2291); 

            match(input,BOOLEANO,FOLLOW_BOOLEANO_in_asignacion_booleano2293); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_booleano2"



    // $ANTLR start "asignacion_directorio2"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:32:1: asignacion_directorio2 : IDENT OPERADOR DIRECTORIO ;
    public final void asignacion_directorio2() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:32:23: ( IDENT OPERADOR DIRECTORIO )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:32:25: IDENT OPERADOR DIRECTORIO
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_directorio2299); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_directorio2301); 

            match(input,DIRECTORIO,FOLLOW_DIRECTORIO_in_asignacion_directorio2303); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_directorio2"



    // $ANTLR start "asignacion_mensaje2"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:33:1: asignacion_mensaje2 : IDENT OPERADOR CADENA ;
    public final void asignacion_mensaje2() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:33:20: ( IDENT OPERADOR CADENA )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:33:22: IDENT OPERADOR CADENA
            {
            match(input,IDENT,FOLLOW_IDENT_in_asignacion_mensaje2309); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_mensaje2311); 

            match(input,CADENA,FOLLOW_CADENA_in_asignacion_mensaje2313); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_mensaje2"



    // $ANTLR start "asignacion_variable2"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:34:1: asignacion_variable2 : SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) ;
    public final void asignacion_variable2() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:34:21: ( SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA ) )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:34:23: SET_VAR OPERADOR ( NUMERO | BOOLEANO | DIRECTORIO | CADENA )
            {
            match(input,SET_VAR,FOLLOW_SET_VAR_in_asignacion_variable2319); 

            match(input,OPERADOR,FOLLOW_OPERADOR_in_asignacion_variable2321); 

            if ( (input.LA(1) >= BOOLEANO && input.LA(1) <= CADENA)||input.LA(1)==DIRECTORIO||input.LA(1)==NUMERO ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "asignacion_variable2"



    // $ANTLR start "condicion2"
    // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:35:1: condicion2 : OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE sin_fichero CL_LLAVE ;
    public final void condicion2() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:35:11: ( OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE sin_fichero CL_LLAVE )
            // C:\\Users\\Jose\\workspace\\prac3\\src\\main\\java\\PL\\prac3\\Anasin.g:35:13: OPCION OP_PARENTESIS comprobacion CL_PARENTESIS OP_LLAVE sin_fichero CL_LLAVE
            {
            match(input,OPCION,FOLLOW_OPCION_in_condicion2337); 

            match(input,OP_PARENTESIS,FOLLOW_OP_PARENTESIS_in_condicion2339); 

            pushFollow(FOLLOW_comprobacion_in_condicion2341);
            comprobacion();

            state._fsp--;


            match(input,CL_PARENTESIS,FOLLOW_CL_PARENTESIS_in_condicion2343); 

            match(input,OP_LLAVE,FOLLOW_OP_LLAVE_in_condicion2345); 

            pushFollow(FOLLOW_sin_fichero_in_condicion2347);
            sin_fichero();

            state._fsp--;


            match(input,CL_LLAVE,FOLLOW_CL_LLAVE_in_condicion2349); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
          
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "condicion2"

    // Delegated rules


 

    public static final BitSet FOLLOW_con_fichero_in_entrada_fichero49 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entrada_fichero51 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_asignacion_numero_in_con_fichero59 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_booleano_in_con_fichero61 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_directorio_in_con_fichero63 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_mensaje_in_con_fichero65 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_variable_in_con_fichero67 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_condicion_in_con_fichero69 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_numero77 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_numero79 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_NUMERO_in_asignacion_numero81 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_SEPARADOR_in_asignacion_numero83 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_booleano90 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_booleano92 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_BOOLEANO_in_asignacion_booleano94 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_SEPARADOR_in_asignacion_booleano96 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_directorio102 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_directorio104 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DIRECTORIO_in_asignacion_directorio106 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_SEPARADOR_in_asignacion_directorio108 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_mensaje114 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_mensaje116 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_asignacion_mensaje118 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_SEPARADOR_in_asignacion_mensaje120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SET_VAR_in_asignacion_variable126 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_variable128 = new BitSet(new long[]{0x0000000000082180L});
    public static final BitSet FOLLOW_set_in_asignacion_variable130 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_SEPARADOR_in_asignacion_variable140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_comprobacion147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_VARIABLE_in_comprobacion151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_comprobacion156 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_comprobacion164 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_comprobacion166 = new BitSet(new long[]{0x0000000000082180L});
    public static final BitSet FOLLOW_set_in_comprobacion168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_OPCION_in_condicion184 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_OP_PARENTESIS_in_condicion186 = new BitSet(new long[]{0x0000000010010000L});
    public static final BitSet FOLLOW_comprobacion_in_condicion188 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_CL_PARENTESIS_in_condicion190 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_OP_LLAVE_in_condicion192 = new BitSet(new long[]{0x0000000008110200L});
    public static final BitSet FOLLOW_con_fichero_in_condicion194 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CL_LLAVE_in_condicion196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SETFOR_in_buclefor203 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_OP_PARENTESIS_in_buclefor205 = new BitSet(new long[]{0x0000000010010000L});
    public static final BitSet FOLLOW_set_in_buclefor207 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_CL_PARENTESIS_in_buclefor214 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_OP_LLAVE_in_buclefor216 = new BitSet(new long[]{0x0000000008110200L});
    public static final BitSet FOLLOW_con_fichero_in_buclefor218 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CL_LLAVE_in_buclefor220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SETWHILE_in_buclewhile226 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_OP_PARENTESIS_in_buclewhile228 = new BitSet(new long[]{0x0000000010010000L});
    public static final BitSet FOLLOW_comprobacion_in_buclewhile230 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_CL_PARENTESIS_in_buclewhile232 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_OP_LLAVE_in_buclewhile234 = new BitSet(new long[]{0x0000000008110200L});
    public static final BitSet FOLLOW_con_fichero_in_buclewhile236 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CL_LLAVE_in_buclewhile238 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_sin_fichero_in_entrada_sin246 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entrada_sin248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DOLAR_in_entrada_sin252 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_asignacion_numero2_in_sin_fichero260 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_booleano2_in_sin_fichero262 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_directorio2_in_sin_fichero264 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_mensaje2_in_sin_fichero266 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_asignacion_variable2_in_sin_fichero268 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_condicion2_in_sin_fichero270 = new BitSet(new long[]{0x0000000008110002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_numero2278 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_numero2280 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_NUMERO_in_asignacion_numero2282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_booleano2289 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_booleano2291 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_BOOLEANO_in_asignacion_booleano2293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_directorio2299 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_directorio2301 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DIRECTORIO_in_asignacion_directorio2303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENT_in_asignacion_mensaje2309 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_mensaje2311 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_asignacion_mensaje2313 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SET_VAR_in_asignacion_variable2319 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_OPERADOR_in_asignacion_variable2321 = new BitSet(new long[]{0x0000000000082180L});
    public static final BitSet FOLLOW_set_in_asignacion_variable2323 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_OPCION_in_condicion2337 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_OP_PARENTESIS_in_condicion2339 = new BitSet(new long[]{0x0000000010010000L});
    public static final BitSet FOLLOW_comprobacion_in_condicion2341 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_CL_PARENTESIS_in_condicion2343 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_OP_LLAVE_in_condicion2345 = new BitSet(new long[]{0x0000000008110200L});
    public static final BitSet FOLLOW_sin_fichero_in_condicion2347 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CL_LLAVE_in_condicion2349 = new BitSet(new long[]{0x0000000000000002L});

}